De-modulation of MOK(M-ary orthogonal modulation)

ABSTRACT

Apparatus for iterative detection and demodulation of M-ary orthogonal signals (MOK) and signals using Complementary Code Keying (CCK). The apparatus comprises a non-coherent detector that is used during the first iteration and in subsequent iterations uses a coherent detector that is responsive to a soft decoder that is responsive to the detectors. For MOK signals use is made of the first chip, which is known, obviating the need for a pilot signal.

FIELD OF THE INVENTION

The present invention relates to the detection and demodulation of M-ary orthogonal signals (MOK) and Complementary Code Keying (CCK) signals, in particular by using an iterative combination of non-coherent and coherent systems and methods.

BACKGROUND OF THE INVENTION

There is a move towards high data rate transmission in wireless communication systems. Efforts are now directed towards developing wireless systems that provide data rates on the order of 10 Mb/s. To achieve these high rates there has been a search for modulation schemes more efficient than M-ary PSK.

Different forms of orthogonal modulation have been considered and adopted by various standards committees. A form of orthogonal modulation was adopted in the IS-95 standard as the modulation technique used for the return link. J=log₂ M bits are transmitted per symbol and one of M orthogonal binary sequences known as the Hadamard-Walsh functions is selected for transmission. This technique is called M-ary orthogonal keying (MOK).

One of the main advantages of MOK is the ability to demodulate the signals non-coherently with minimal performance degradation. Compared to differential PSK, non-coherent detection of MOK has a much better performance and so it has been considered by a number of different standards. MOK may have better BER performance than BPSK, which is due to the embedded coding properties of MOK. For the above mentioned advantages, MOK is considered a great choice for reverse link communications, where there is usually no pilot or reference signal to assist coherent detection.

For Additive White Gaussian Noise (AWGN) channel, the performance difference between non-coherent and coherent detection of MOK is less than 1 dB for M>2. For fast fading channels, the performance of non-coherent detection may be several dBs worse than that of coherent detection. Practical systems, especially terrestrial mobile communication systems with low SNR and severe fading, concatenate MOK with a form of forward error correction, usually convolutional codes. The present invention could work for MOK with any kind of outer coding. That is, the outer code need not be a convolutional code, but any code that can be decoded while generating soft decoder outputs. Optimum reception of this scheme is to implement one maximum likelihood receiver, which is very complex to implement. For near optimum reception of this coded system, soft detection information should be exchanged between the different blocks of the receiver.

SUMMARY OF THE INVENTION

A method where convolutionally coded data is orthogonally modulated using MOK is presented. At the receiver, following the non-coherent detection of the MOK symbols, a simple metric is calculated and passed to the MAP decoder to decode the symbols. Following decoding, the soft decoder outputs are then used to calculate the probabilities of different symbols, a channel estimator is used to estimate the fading channel and help re-demodulate the MOK signal coherently. The steps of decoding and channel estimation are then iteratively repeated until there is no gain or recognition improvement or until the recognition improvement is outweighed by the effort to achieve the recognition improvement.

That is, a method is presented for use in a receiver for detecting and demodulating M-ary orthogonal signals (MOK) comprising the steps of receiving convolutionally coded M-ary orthogonally modulated symbols over a channel, demodulating said M-ary orthogonally modulated symbols, calculating a metric, decoding said symbols, calculating probabilities of different symbols for each symbol instance, estimating a fading channel responsive to calculating the probabilities and iteratively feeding said metric, said decoded symbols, said probabilities and said estimate back into said demodulating step to re-demodulate said symbols coherently. The method may also include interleaving on the transmitter side and corresponding de-interleaving on the receiving side.

The method has been tested for Rayleigh and Rician fading channels with different fading rates where it shows considerable improvement over conventional non-coherent detection especially for fast fading channels.

An improvement to the first embodiment using a quasi-coherent detector is presented. It was noticed that all the MOK symbols start with a “1” so a form of symbol aided demodulation (SAD) is applied to the MOK signals. A method that uses the known first chip of every symbol is presented and tested for fading channels. A comparison between the two methods is presented graphically.

A similar technique called complementary code keying (CCK) has been adopted by the IEEE 802.11 subcommittee for wireless local are networks (WLAN) for transmission of data rates of 5.5 and 11 Mb/s. CCK is a generalized form of (M-ary biorthogonal keying) MBOK.

After studying the application of CCK for terrestrial fast fading communication channels, it was found that for fast fading channels, the performance of non-coherent detection of CCK is significantly worse than that of the coherent detectors, even more than that encountered in the MOK case. A second alternative embodiment of the present invention is a modification for the existing CCK systems that greatly enhances the performance of CCK for fast fading channels. The second embodiment presents a method for use in a receiver for detecting and demodulating a signal of complementary code keying (CCK) symbols comprising the steps of receiving complementary coded keying (CCK) modulated symbols over a channel, demodulating said complementary code keying modulated symbols, decoding said symbols, adding an extra known chip at a beginning of every symbol, calculating probabilities of different symbols for each symbol instance, calculating expected values of complex conjugates of every chip, estimating the fading channel at different chip positions within said symbol and iteratively feeding said decoded symbols, said probabilities and said estimate back into said demodulating step to re-demodulate said symbols.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will now be described in greater detail with reference to the preferred embodiments of the invention, given only by way of example, and illustrated in the accompanying drawings in which:

FIG. 1 shows the block diagram of the non-coherent-coherent system.

FIG. 2 shows the method to construct the signal set for MOK.

FIG. 3 depicts a bank of M orthogonal non-coherent correlators, which is the optimum detector for Hadamard-Walsh orthogonal modulation.

FIG. 4 shows the optimum coherent receiver.

FIG. 5 shows the performance of coherent and non-coherent detection of orthogonally modulated convolutionally coded signals in AWGN environment.

FIG. 6 shows the performance for MOK, for M=8 in Rayleigh fading channel with a fading rate of 10.

FIG. 7 shows the performance for MOK, for M=8 in Rician fading channel with a fading rate of 10.

FIG. 8 shows the performance for MOK, for M=8 in Rayleigh fading channel with a fading rate of 40.

FIG. 9 shows the performance for MOK, for M=8 in Rician fading channel with a fading rate of 40.

FIG. 10 shows the performance for MOK, for M=16 in Rayleigh fading channel with a fading rate of 20.

FIG. 11 shows the performance for MOK, for M=16 in Rician fading channel with a fading rate of 20.

FIG. 12 shows the performance for MOK, for M=16 in Rayleigh fading channel with a fading rate of 80.

FIG. 13 shows the performance for MOK, for M=16 in Rician fading channel with a fading rate of 80.

FIG. 14 shows the code set of complementary codes is much richer than the set of Walsh codes used in MOK.

FIG. 15 depicts a non-coherent CCK detector.

FIG. 16 compares the performance of coherent and non-coherent detectors for CCK in AWGN.

FIG. 17 shows the performance for CCK in Rician fading channel with a fading rate of 10.

FIG. 18 shows the performance for CCK in Rayleigh fading channel with a fading rate of 40.

FIG. 19 shows the performance for CCK in Rician fading channel with a fading rate of 40.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows the block diagram of the system including both modulation and demodulation as well as the fading channel over which the MOK signal is transmitted. On the transmission (modulation) side the data is input to a convolution encoder, which encodes the data. The encoded data is output from the convolutional encoder into an interleaver. The output of the interleaver is input into an M-ary orthogonal modulator, which outputs the signal to a channel. On the receiver (demodulation) side the signal is detected and demodulated by an M-ary orthogonal demodulator. The output of the demodulator is input to a deinterleaver. The output if the deinterleaver is input to the MAP decoder, which decodes the data. Channel estimation is then performed by a channel estimator. The channel estimation metrics are then introduced into the M-ary orthogonal non-coherent demodulator in a feedback model to re-demodulate the signal coherently. The steps of interleaving and de-interleaving are optional but advantageous. The transmitted signal s(t) is given by $\begin{matrix} {{s(t)} = {A{\sum\limits_{k = {- \infty}}^{\infty}{\alpha_{k}\left( {t - {kT}} \right)}}}} & (1) \end{matrix}$ where αk(t) is a symbol from an orthogonal set of symbols to be transmitted during the k^(th) symbol time interval. ${\alpha_{k}(t)} = {\sum\limits_{l = 1}^{M}{\alpha_{k}^{l}{p\left( {t - {lT}_{c}} \right)}}}$ where α_(k) ^(l) is the l^(th) chip of the k^(th) symbol. p(t−lT_(c)) is the chip waveform of arbitrary shape and unit energy.

The type of modulation considered here is called M-ary Orthogonal Keying (MOK). FIG. 2 shows the method to construct the signal set for MOK. Each symbol is composed of M chips, which will represent log₂M coded data bits. This set of symbols is called Hadamard-Walsh orthogonal sequences. It can be verified that any two vectors resulting from this mapping have inner products that are exactly zero, and hence all M waveforms are orthogonal to one another.

Defining E_(b) as the energy per data bit. Now define E_(c)=E_(b)r_(c) as the energy per coded bit, where r_(c) is the convolutional code rate. Every b=log₂M coded bits will be transmitted as one of the MOK symbols. Each MOK symbol consists of M chips, the energy per symbol is E_(s)=bE_(c), and the energy per chip is given by E_(ss)=E_(s)M. That is, the energy per symbol is the bit energy times the convolutional code rate.

The optimum non-coherent detector for Hadamard-Walsh orthogonal modulation is a bank of M orthogonal non-coherent correlators, as shown in FIG. 3, while the optimum coherent receiver is shown in FIG. 4.

FIG. 3 depicts the non-coherent detector/demodulator of the MOK receiver, which is used for a first pass through the feedback loop. Thereafter, the output of the non-coherent detector/demodulator is used as a reference to the coherent detector/demodulator of the MOK receiver, which is depicted in FIG. 4. The apparatus used to detect/demodulate MOK symbols, therefore, comprises both the non-coherent detector/demodulator depicted in FIG. 3 and the coherent detector/demodulator depicted in FIG. 4.

Referring first to FIG. 3, the signal received from the fading channel is multiplied by sin (ωt) and cos (ωt). Each of the products are then each passed through normalized matched filters resulting in real and imaginary components of the received signal. Each of these components is sampled at a clock rate of 1/T_(C), where T_(C) represents the chip duration, which is the symbol duration divided by M. Since it is known at this point that a symbol has been received but not which symbol, each of the possible symbols is multiplied by the real and imaginary components of the received signal, respectively, and summed. That is, ${z_{i}^{l}(k)} = {\sum\limits_{l = 1}^{M}{{r_{l}(l)}{s(l)}}}$ ${z_{l}^{Q}(k)} = {\sum\limits_{l = 1}^{M}{{r_{Q}(l)}{s(l)}}}$ where r_(l)(l) and r_(Q)(l) are the l^(th) samples of the received signal, s_(i)(l) is the l^(th) sample of M possible symbols and the results z_(l) ^(I) and z_(i) ^(Q) are the in-phase and quadrature components of the combination of the received signal, the multipath distortion, any other interference and noise. That is, z_(i) ^(I) and z_(i) ^(Q) are in-phase and quadrature components of a modified version of the desired signal. These in-phase and quadrature components are then squared and added together on a component-by component basis resulting in [z_(i) ^(I)*(k)]²+[z_(i) ^(Q)(k)]². This further results in z_(i), which is fed into a MAP or Viterbi decoder and a metric calculator, the output of which is a tentative decision with respect to the symbol string. This then becomes the reference signal c^(*) used in FIG. 4 for further coherent demodulation or re-demodulation of the received signal.

The coherent detection/demodulation depicted in FIG. 4 follows roughly the same logic as FIG. 3 but it is no longer necessary to generate an imaginary component because a reference signal is now available. The decision resulting from the coherent detection/demodulation is improved over the non-coherent detection/demodulation. Further iterations provide even further improvements. The number of iterations will vary dependent on the environment and can be stopped when the recognition improvement or gain diminishes with the effort. That is, the gain ceases to increase proportionately to the effort.

The received signal is given by r(t)=c(t)s(t)+n(t)  (2) where n(t) is AWGN with power spectral density N_(o) in the real and imaginary parts; and c(t) represents the flat frequency nonselective Rician fading channel complex gain, with autocorrelation function: $\begin{matrix} {{R_{c}(\tau)} = {\sigma_{g}^{2}\left( {\frac{K}{1 + K} + {\frac{1}{1 + K}{J_{o}\left( {2\pi\quad f_{D}\tau} \right)}}} \right)}} & (3) \end{matrix}$ where K is the ratio between the line of sight power and the scattered power, J_(o) is the zero order modified Bessel function of the first type; ƒ_(D) is the fading bandwidth; τ is the timing difference.

Define $J_{\max} = \frac{R_{s}}{2R_{f}}$ where R_(s) is the chip rate and R_(ƒ) is the fading rate.

The normalizing matched filter, with impulse response p^(*)(−t)/(√{square root over (N₀)}), has an output given by r(k _(i))=u(k _(i))α_(k) ^(i) +n(k _(i)) where k_(i) represent the time instant of the i^(th) chip of the k^(th) symbol. The Gaussian noise samples n(k) are white with unit variance, and the complex symbol gain u(k) has mean ${E\left\lbrack {u(k)} \right\rbrack} = {\sqrt{\gamma_{ss}}\sqrt{\frac{K}{K + 1}}}$ and  variance $\sigma_{u}^{2} = {\gamma_{ss}\frac{1}{K + 1}}$ where the average SNR is given by $\gamma_{ss} = \frac{E_{s}}{N_{o}}$

A simplified decision metric was derived for Rayleigh fading channels with non-coherent detection. The metric for the more generalized Rician fading channel is now derived. For M-ary orthogonal signals, the output of the filters is denoted by z_(i), i=1, . . . ,M. As shown in FIG. 1, the proposed system has a convolutional encoder/decoder pair that needs soft information from the MOK detector/demodulator. Therefore, it is necessary to derive the log likelihood ratio (LLR) for the data and code bits. The LLR is defined by $L = {\ln\left( \frac{p_{1}\left( Z^{\prime} \right)}{p_{o}\left( Z^{\prime} \right)} \right)}$ where Z′=(z₁, z₂, . . . ,z_(M)) is the vector whose components are the M correlator (coherent or non-coherent) outputs. Consider the first bit (not chip) of the symbol and calculate its LLR. For Hadamard-Walsh codes, the first M/2 sequences will have a “0” in the first position, while the last M/2 sequences will have a “1” in the first position. Hence, given equiprobable input sequences, the LLR for the first bit is given by ${p_{1}(z)} = {{2/M}{\sum\limits_{m = 1}^{M/2}{p\left( {Z^{\prime}/s_{m}} \right)}}}$ ${p_{o}(z)} = {{2/M}{\sum\limits_{m = {{M/2} + 1}}^{M}{p\left( {Z^{\prime}/s_{m}} \right)}}}$ where s_(m) is the m^(th) sequence, and p(Z/s_(m)) is the probability density function (pdf) of the M correlator outputs given that sequence m was sent. Because of the orthogonality of the sequences we can write these joint pdfs of the correlator outputs as p(Z′/s _(m))=p _(c)(z _(m))Π_(m′≠M) p _(N)(z _(m′)) where p_(c)(z) is the pdf of the correlator output corresponding to the correct signal sent, while p_(N)(z) pertains to all the M−1 others. In the following subsections we will deal with the coherent and non-coherent receivers for the more general Rician fading channels.

The input to the detector is Rician distributed with $\begin{matrix} {{f(r)} = {2\left( {K + 1} \right)r\quad{\mathbb{e}}^{{{- {({K + 1})}}r^{2}} - K}{I_{0}\left\lbrack {2r\sqrt{K\left( {K + 1} \right)}} \right\rbrack}}} & (4) \end{matrix}$ where I₀ is the zeroth order modified Bessel function of the first kind.

For the non-coherent detector shown in FIG. 3, the received signal is given by r(k _(i))=u(k _(i))α_(k) ^(i) +n(k _(i)) Now the receiver forms the signals representing the real and imaginary parts of r r _(I)=Re(r) r _(Q)=Im(r) where Re(.) represents the real part and Im(.) represents the imaginary part. ${z_{i}^{I}(k)} = {\sum\limits_{I = 1}^{M}{{r_{I}(l)}{s(l)}}}$ ${z_{i}^{Q}(k)} = {\sum\limits_{i = 1}^{M}{{r_{Q}(l)}{s(l)}}}$ z_(i)(k) = [z_(i)^(I)(k)]² + [z_(i)^(Q)(k)]² For the output of the M−1 non-coherent detectors corresponding to the noise only, z_(i) ^(Q)(k) and z_(i) ^(I)(k) are Guassian with zero mean, and z_(i)(k) is of exponential distribution. The pdf of z_(i)(k) is given by p _(N)(z)=e ^(−z)

The output of the detector corresponding to the transmitted signal is given by ${p_{c}(z)} = {\frac{z}{1 + {\frac{1}{k + 1}\frac{E_{s}}{N_{o}}}}{\mathbb{e}}^{{- \frac{1}{({1 + {\frac{1}{k + 1}\frac{E_{s}}{N_{o}}}})}} - {\frac{K}{K + 1}\frac{E_{s}}{N_{o}}}}{I_{o}\left\lbrack {2\sqrt{\frac{z}{1 + {\frac{1}{K + 1}\frac{E_{s}}{N_{o}}}}\frac{K}{K + 1}\frac{E_{s}}{N_{o}}}} \right\rbrack}}$ Now the LLR for the first bit is given by $L = {\ln\left\lbrack \frac{\sum\limits_{m = 1}^{M/2}{{p_{c}\left( z_{m} \right)}{\prod\limits_{m^{\prime} \neq m}^{\quad}{p_{N}\left( z_{m^{\prime}} \right)}}}}{\sum\limits_{m = {{M/2} + 1}}^{M}{{p_{c}\left( z_{m} \right)}{\prod\limits_{m^{\prime} \neq m}^{\quad}{p_{N}\left( z_{m^{\prime}} \right)}}}} \right\rbrack}$ $L = {\ln\left\lbrack \frac{\sum\limits_{m = 1}^{M/2}{{p_{c}\left( z_{m} \right)}/{p_{N}\left( z_{m} \right)}}}{\sum\limits_{m = {{M/2} + 1}}^{M}{{p_{c}\left( z_{m} \right)}/{p_{N}\left( z_{m} \right)}}} \right\rbrack}$ $L = {\ln\left\lbrack \frac{\sum\limits_{m = 1}^{M/2}{{\mathbb{e}}^{\frac{Z_{m}{E_{s}/N_{o}}}{K + 1 + {E_{s}/N_{o}}} - {\frac{K}{K + 1}{E_{s}/N_{o}}}}{I_{o}\left( {2\sqrt{\frac{z_{m}}{1 + {\frac{1}{K + 1}\frac{E_{s}}{N_{o}}}}\frac{K}{\quad{K\quad + \quad 1}}\frac{E_{s}}{N_{o}}}} \right)}}}{\sum\limits_{m = {{M/2} + 1}}^{M}{{\mathbb{e}}^{\frac{Z_{m}{E_{s}/N_{o}}}{K + 1 + {E_{s}/N_{o}}} - {\frac{K}{K + 1}{E_{s}/N_{o}}}}{I_{o}\left( {2\sqrt{\frac{z_{m}}{1 + {\frac{1}{K + 1}\frac{E_{s}}{K_{o}}\frac{K}{\quad{K + 1}}\frac{\quad E_{s}}{\quad N_{o}}}}}} \right)}}} \right\rbrack}$ In the case of Rayleigh fading, K=0 and the LLR reduces to $L = {\ln\left\lbrack \frac{\sum\limits_{m = 1}^{M/2}{\mathbb{e}}^{\frac{z_{m}{E_{s}/N_{o}}}{1 + {E_{s}/N_{o}}}}}{\sum\limits_{m = {{M/2} + 1}}^{M}{\mathbb{e}}^{\frac{z_{m}{E_{s}/N_{o}}}{1 + {E_{s}/N_{o}}}}} \right\rbrack}$ While in the case of Gaussian noise channel (no fading), K=∞ $L = {\ln\left\lbrack \frac{\sum\limits_{m = 1}^{M/2}{I_{0}\left( {2\sqrt{z_{m}\frac{E_{s}}{N_{o}}}} \right)}}{\sum\limits_{m = {{M/2} + 1}}^{M}{I_{0}\left( {2\sqrt{z_{m}\frac{E_{s}}{N_{o}}}} \right)}} \right\rbrack}$ The resulting LLR is the summation of either exponentials, modified Bessel functions or the product of both. A very good approximation for these types of functions is to choose the maximum term in the summation. The approximate LLR is given by $L = {{\max_{m = 1}^{M/2}z_{m}} - {\max_{m = {{M/2} + 1}}^{M}{z_{m}.}}}$ The performance of the optimum metric is very close to that of the simplified metric, the approximate LLR is used for decoding of the convolutional code. There is almost no gain or advantage in using the exact metric while the computational advantage gained by using the simplified metric is huge.

The coherent detector is shown in FIG. 4. In this case the LLr is given by $L = {{{\ln\left\lbrack \frac{\sum\limits_{m = 1}^{M/2}{\mathbb{e}}^{z_{m}{E_{s}/N_{o}}}}{\sum\limits_{m = {{M/2} + 1}}^{M}{\mathbb{e}}^{z_{m}{E_{s}/N_{o}}}} \right\rbrack}\quad{where}\quad z_{m}} = {\sum\limits_{l = 1}^{M}{{{Re}\left( {y_{l}c_{l}^{*}} \right)}{s_{m}(l)}}}}$ where c_(l) ^(*) is the channel estimate. A very good approximation for this expression is $L = {{\max_{m = 1}^{M/2}z_{m}} - {\max_{m = {{M/2} + 1}}^{M}z_{m}}}$

In almost all the practical systems that implement some form of MOK, non-coherent detection is used. For AWGN, the difference between the coherent and non-coherent detection of MOK is very small. FIG. 5 shows the performance of coherent and non-coherent detection of orthogonally modulated convolutionally coded signals in AWGN environment. It can be noticed that the difference between the two schemes is less than 1 dB for BER≦10⁻³.

However, the difference in performance between coherent and non-coherent detection of MOK increases significantly with the increased rate of fading (J_(max)). This is due to the fact that the chips forming the symbol may be subject to different amplitude and phase distortion in the fading channel. In coherent detection, the fading channel is assumed fully known such that the effect of the changing amplitude and phase will not deteriorate the performance. Two alternate methods that use the concept of iterative decoding are presented to enhance the performance of MOK based systems without additional signal components (i.e., additional pilot signal).

The concept of iterative decoding was spurred on by the introduction of Turbo codes. The performance of Turbo codes approached the Shannon limit for the channel capacity, which provoked a great deal of interest in the research community. Generalizing the use of iterative decoding has been proposed to be used in the different blocks of the receiver. All the receiver modules use soft input soft output (SISO) operations in order to maximize information exchange between them. A method that uses the concept of iterative decoding for iterative detection of MOK signals is now presented.

FIG. 1 shows the block diagram of the non-coherent-coherent system. The first method is, as indicated by its name, an iterative algorithm where, a form of coherent detection follows the first standard non-coherent detector. Following the non-coherent detector and MAP decoder, the soft outputs of the decoder are used to calculate the probabilities of the symbols such that it can be used to estimate the channel. The presence of the interleaver here has a double advantage. The standard use of the interleaver is the prevention of the error bursts that can happen in deep fade periods. The other advantage of the interleaver is making the outputs of the decoder and channel estimator independent. The interleaver makes the bits affecting the decisions on a certain bit due to the decoding algorithm differ from the bits used to estimate the fading channel at the time of that bit.

Denote the reliability information of the data and code bits at the output of the decoder with soft outputs (i.e., MAP_(s)SOVA (soft output Viterbi algorithm), . . . ) by L(m). To calculate the probabilities of the data and code symbols use, ${p\left( {{x(m)} = 1} \right)} = \frac{{\mathbb{e}}^{L{(m)}}}{\left( {1 + {\mathbb{e}}^{L{(m)}}} \right)}$ The above probabilities could not be used directly to estimate the channel. The bit probabilities are used to calculate the probabilities of the chips, which were physically transmitted through the channel.

First calculate the probability of symbols using $\begin{matrix} {{{p_{s}(k)} = {\prod\limits_{l = 1}^{\log_{2}M}\left( {{\left\lbrack {1 - U_{l}} \right\rbrack\left\lbrack {1 - {p(l)}} \right\rbrack} + {U_{l}{p(l)}}} \right)}},{k = 1},2,\ldots\quad,M} & (5) \end{matrix}$ where U_(j)=1 if the j^(th) bit=1 for this symbol, if the j^(th) bit=0, U_(j)=0, p(l) is the probability that bit l of the symbol=1. This calculation is repeated for every symbol instant, i.e., M different probabilities are calculated for every symbol instant.

Following the calculation of the symbols probabilities, the probabilities of the chips are calculated. The probability of the l^(th) chip is given by $\begin{matrix} {{p_{ss}(l)} = {\sum\limits_{h = 1}^{M}{h_{k}{p_{s}(k)}}}} & (6) \end{matrix}$ where p_(ss)(l) is the probability that chip l equals 1, h_(k)=1 if chip l=1 in symbol k and h_(k)=0 if chip l=−1 in symbol k.

Now that the probability of the chips has been calculated, it is necessary to estimate the channel using this information. A Wiener filter is used in the filtering of the chips to obtain the channel estimate. The filter is designed as explained below. Only one filter is necessary for all points. The channel estimate is given by ${\hat{c}(m)} = {\sum\limits_{j = {- D}}^{D}{{{h(j)}\left\lbrack {{2{p_{ss}\left( {m + j} \right)}} - 1} \right\rbrack}{\tau\left( {m + j} \right)}}}$ where 2D+1 is the order of the filter, assumed odd. Following the channel estimator, coherent detection is performed. A number of iterations of the steps of demodulating said M-ary orthogonally modulated signal, calculating a metric, decoding said signal, calculating probabilities of different symbols for each symbol instance, and estimating a fading channel responsive to calculating the probabilities could be repeated until no gain or recognition improvement is detected. In the alternative, a threshold value of recognition improvement could be preset and the iterations could be stopped once that threshold is attained. That is, the threshold value could be based, for example, on no change in a specific decimal place or a comparison between the recognition improvement in two iterations versus a calculation of the effort per iteration. From the simulation results, in most instances two iterations after the initial non-coherent detector was enough to capture almost all of the gain from this scheme.

An alternate method could be used to perform quasi-coherent detection. It can be noticed that all the different MOK symbols start with a “1” which makes these signals, by design, good for SAD demodulation techniques. The rate of change of the fading dictates the rate of insertion of the known symbols. In the case of MOK signals, the known symbols are present with rate J=M. If J<J_(max) then there is no need to complicate the signal by inserting more known symbols, and the SAD methods could be used without adding more known symbols. The channel estimate at the first step is obtained using only the known first chip. Following the first decoding step, the unknown chips are also used to estimate the channel exactly as in the non-coherent-coherent scheme.

The forward error control code used is rate ½, 4 state convolutional code with generator polynomials 5₈ and 7₈. Following the first decoding step, 2 more decoding steps that use the known symbols were conducted. The BER after the last step is shown in the figures and referred to as “Iter. Noncoh.” And “Iter. SAD”, except in FIG. 6 where 2 iterations were shown for the “Iter. Noncoh.” algorithm.

FIG. 6 to FIG. 9 show the performance of MOK, for M=8 in Rayleigh and Rician fading channels for different fading rates, while FIG. 10 to FIG. 13 show the same for M=16. A number of trends could be observed. For M=8, the SAD scheme is better than the non-coherent scheme, and the performance of the iterative algorithms is very good. In almost all the cases, the iterative algorithm cut the difference between the coherent and either SAD or non-coherent by almost three quarters. In very fast Raleigh fading case (J_(max)=10 and K=0), we notice that there is an error floor for the non-coherent case while the SAD algorithm does not suffer from that (at least in the shown range). Also the iterative algorithm for non-coherent detection overcame the error floor after 2 iterations. For the most favorable channel (J_(max)=40 K=10), we find that the iterative algorithms' performance is extremely close (≈0.2 dB) to the coherent detection case.

For M=16, similar trends appear to hold, the only notable difference is that the performance of the non-coherent detector is sometimes better than the performance of the SAD scheme, most notably at low E_(b)/N₀ in very fast Raleigh fading (J_(max)=20 and K=0). A possible explanation of this, is that at low E_(b)/N₀ in fast fading, the noise effect maybe as dominant as fading, and the channel estimate produced by the SAD scheme at low E_(b)/N₀ is less reliable than the non-coherent case and less reliable than the estimate in the case of M=8 as the time interval between successive known chips is larger relative to the time between the chips (used by non-coherent detector). At high E_(b)/N₀, fading dictates the performance and the SAD scheme performance is better than the non-coherent scheme.

Recently, Harris Semiconductors and Lucent Technologies developed an approach called complementary code keying (CCK) to be used for high rate indoor wireless local area networks (WLAN). The IEEE 802.11 subcommittee adopted CCK as the basis for the physical layer of high speed transmission. CCK is a form of MOK modulation which uses an inphase-quadrature modulation architecture with complex signal structure. CCK is a modulation where one of M unique (orthogonal or nearly orthogonal depending on the number of codes needed) signal codewords is chosen for transmission.

For M-ary biorthogonal keying (MBOK) there are 8 chips that have a maximum vector space of 256 codes, which there are sets of 8 that are orthogonal. Two independent vectors are selected for the orthogonal I and Q channels which modulate three bits on each. On additional bit can be used to DPSK each of the resulting I and Q codes. The code set of complementary codes is much richer than the set of Walsh codes used in MOK, as shown in FIG. 14. For CCK there are 4⁸=65536 possible codewords, and sets of 64 that are nearly orthogonal. The CCK codewords depicted in FIG. 14 lie in two planes, the page being a first plane and a second plane perpendicular to the first plane. This second plane is indicated by slanted lines. The codewords are the components of a signal constellation.

The IEEE 802.11 standard adopted CCK for the transmission of either 5.5 Mbps using a CCK code of length 8 to carry 4 bits or 11 Mbps using a CCK code of length 8 carrying 8 bits. For the half data rate version, a subset of 4 of the 64 vectors that have superior coding distance is used. The first 4 rows of table 1 shows a possible set. The code set used is given by C=[e ^(ø1+ø2+ø3+ø4) , e ^(ø1+ø3+ø4) , e ^(ø1+ø2+ø4) , −e ^(ø1+ø4) , e ^(ø1+ø2+ø3) , e ^(ø1+ø3) , e ^(ø1+ø2) , e ^(ø1)] Where ø_(j): 0,π/2, π, 3π/2, j=1,2,3,4 for the 256 code set and ø₁: 0, π/2, π, 3π/2 ø₂: π/2, 3π/2 ø₃: 0 ø₄: 0,π for the 16 code set which is shown in table 1.

Since CCK symbols are QPSK in nature, they simultaneously occupy both the I and Q channels. The multipath performance of CCK is better than MOK and MBOK (M-ary biorthogonal keying) due to the lack of cross-rail interference. One of the advantages of CCK over MBOK is that it suffers less from multipath distortion in the form of cross coupling of the I and Q channel information. The information in CCK is encoded directly onto complex chips, which cannot be cross-couple corrupted by multipath distortion or fading. This superior encoding technique avoids the corruption resulting from half the information on the I channel and half on the Q channel as in MBOK, which is easily cross couple corrupted with the multipath phase rotation.

As mentioned before, one of the main advantages of MOK is the ability to demodulate the signal non-coherently. It is not possible to demodulate “simply” modulated MBOK or CCK signals non-coherently. By “simply” we mean assigning the code directly depending on the log₂M bits, where M is the total number of codewords.

However, in the scheme adopted by the standard, signals can be demodulated non-coherently. For example, for the 5.5 Mbps CCK mode, the incoming data is grouped into 4 bit nibbles where two of the bits select the spreading function out of a set of 4 codes while the remaining two bits then differential QPSK (DQPSK) the carrier. Applying this to the code set shown in table 1, one of the first four codes is selected by 2 of the four data bits, the other 2 bits will rotate the selected code by 0, π/2, π, 3π/2. TABLE 1 CCK codewords Codeword 1 2 3 4 5 6 7 8 1  1  j  1 −j −1 −j  1 −j 2  1  j  1 −j  1  j −1  j 3  1 −j  1  j  1 −j −1 −j 4  1 −j  1  j −1  j  1  j 5  j −1  j  1 −j  1  j  1 6  j −1  j  1  j −1 −j −1 7  j  1  j −1  j  1 −j  1 8  j  1  j −1 −j −1  j −1 9 −1 −j −1  j  1  j −1  j 10 −1 −j −1  j −1 −j  1 −j 11 −1  j −1 −j −1  j  1  j 12 −1  j −1 −j  1 −j −1 −j 13 −j  1 −j −1  j −1 −j −1 14 −j  1 −j −1 −j  1  j  1 15 −j −1 −j  1 −j −1  j −1 16 −j −1 −j  1  j  1 −j  1

For example, if the first two bits chose the first code, the next two bits are encoded differently as follows. Denote the two bits that change the phase as d₁ and d₂. The phase at these time instant is given by $\begin{matrix} {\Phi_{j} = {\Phi_{j - 1}{\mathbb{e}}^{\frac{({({{2d_{2}} + d_{1}})}}{2\pi}}}} & (7) \end{matrix}$ Therefore, if the first 2 bits chose the first code, depending on the second two bits and the previous phase, code number 1, 5, 9, or 13 is to be transmitted.

The advantage of this scheme is the reduced complexity that can be used to demodulate it. First the detector/demodulator decides which one of the four basic codes is transmitted which can be done non-coherently as shown in FIG. 15. The apparatus depicted in FIG. 15 is similar to that depicted in FIG. 3 but only four basic codes are transmitted and received. The symbols s_(l) ^(*)(k) are the complex conjugates of the possible codes. The MAP decoder or Viterbi decoder and metric calculator have been replaced with an algorithm that uses the argument of the maximum z_(j) to decide on the first two bits and the maximum of z_(j) to decide on the remaining two bits in a feedback loop with a one bit delay.

z_(j) ^(I)(k) and z_(j) ^(Q)(k) are calculated as follows ${z_{j}^{I}(k)} = {\sum\limits_{l = 1}^{M}{{Z_{I}(l)}{s_{j}^{*}(l)}}}$ ${z_{j}^{Q}(k)} = {\sum\limits_{l = 1}^{M}{{Z_{Q}(l)}{s_{j}^{*}(l)}}}$ z_(j)(k) = [z_(j)^(I)(k)]² + [z_(j)^(Q)(k)]² where j=1,2,3,4, s_(j) is the j^(th) codeword. * represents complex conjugate. Following this step, the argument of the maximum z_(j) and the value of the maximum z_(j) are used to decide on the first two bits and differentially demodulate the remaining two bits.

Define u as the argument of the maximum z_(j) and v as the value of the maximum z_(j). u is used to decide on the first two bits, while v is independently differentially demodulated to decide on the other 2 bits.

As will be shown in the results, for fading channels, the performance of the non-coherent detector of CCK is significantly worse than that of coherent detector where the data and code bits directly choose a codeword from the CCK codeword set, and a perfect channel estimate is available.

For AWGN channels, the performance of the non-coherent detector is worse than that of the coherent detector for up to 2 dBs unlike the simple MOK case where the difference may be as low as 0.5 dB. FIG. 16 shows the performance of convolutionally encoded CCK symbols with coherent and non-coherent detectors for the codewords shown in table 1.

Note that the modulation process differs for both cases. The input to the non-coherent detector is as explained in the previous section, while a direct mapping is used in the coherent detector case where 4 bits directly choose one of the 16 codewords.

The increased difference in performance between both detectors is due to differential encoding needed for the non-coherent detector. As CCK is a generalized form of MBOK, there is no way to apply non-coherent detection techniques for simply encoded signals. The complex method of encoding described earlier, is the key factor enabling non-coherent detection.

As will be shown below in the numerical results, the performance of non-coherent detectors of CCK in fading channels is much worse than that of coherent detectors. A modification to the current CCK method improves the performance significantly over the non-coherent CCK system proposed by Lucent technologies and Harris semiconductors. As mentioned previously in the MOK case, the knowledge of the first chip of all the symbols, makes SAD demodulation a viable alternative for MOK signals in fading channels. In the present method an extra chip is added at the beginning of each symbol, say “1”, that can be used to estimate the fading channel. This chip will increase the symbol size from 8 to 9 chips, which is a minimal increase relative to the performance improvement gained.

The method used for channel estimation is similar to the SAD-coherent technique used for MOK. At the beginning, the added known chips are used to estimate the channel at the different chip positions within the symbol using optimized Wiener filters as described below. Coherent detection is performed using the channel estimate obtained by the known chips, and a first decoding step is performed.

Equation 5 shows the calculation of the probabilities of the different symbols knowing the LLR at the output of the decoder. Following, the expected value of the conjugate of every chip given the symbol probabilities is calculated as follows ${E_{pss}(l)} = {\sum\limits_{k = 1}^{M}{h_{k}{p_{s}(k)}}}$

-   -   h_(k)=1 if chip l=1 in symbol k     -   h_(k)=i if chip l=−i in symbol k     -   h_(k)=−1 if chip l=−1 in symbol k     -   h_(k)=−i if chip l=i in symbol k         and the channel estimate is calculated by taking into         consideration the known and unknown chips         ${\hat{c}(m)} = {\sum\limits_{j = {- D}}^{D}{{h(j)}{E_{ss}\left( {m + j} \right)}{r\left( {m + j} \right)}}}$         where h(j) is an optimum Wiener filter designed assuming perfect         knowledge of the chips, 2D+1 is the filter length. This channel         estimate is used to coherently demodulate the incoming signal         and a new decoding step is performed.

FIG. 17 to FIG. 19 shows the performance of different CCK schemes in fading channels. The error control coding used is a rate ½, 4 state convolutional code with generator polynomials 5₈ and 7₈. Following the first decoding step, 2 more decoding steps that use the unknown symbols were conducted. The BER after the first step is denoted “SAD”. “Diff.” refers to the standard differential-non-coherent detector. It is very clear that for fading channels, the performance of the SAD scheme is significantly better than that of differentially detected CCK. The reason is that in the fading channels, differential detection's performance is affected greatly. Note that differential modulation is performed on the symbol level (not chips) which makes the time interval between successively demodulated bits relatively large for low data rates. The SAD method overcomes this drawback and does not use differential detection. Iterative SAD gains approximately 0.5 dB over SAD.

The Wiener filter is based on the least-squares principle, i.e., it finds the filter, which minimizes the error between the actual output and the desired output of the filter.

The estimate of the fading channel is given by $\begin{matrix} {{v(k)} = {{{{\underset{\_}{h}}^{\dagger}(k)}\underset{\_}{r}} = {\sum\limits_{i = {- D}}^{D}{{h^{*}\left( {i,k} \right)}{r({iJ})}}}}} & (8) \end{matrix}$ where ^(†) denotes conjugate transpose, and * denotes conjugate. r is the vector formed from the samples of the output of the matched filter at the known symbol instants, i is the index of the known (SAD) symbols where −D≦i≧D and k is the position of the unknown data symbol in the frame where 1≦k≧J−1. Note that there are J−1 different filters used. The Wiener filter equation is given by $\begin{matrix} {{\overset{\sim}{R}{\underset{\_}{h}(k)}} = {\underset{\_}{w}(k)}} & (9) \end{matrix}$ where {tilde over (R)} is the autocorrelation matrix of size 2D+1 defined by $\overset{\sim}{R} = {\frac{1}{2}{E\left\lbrack {\underset{\_}{rr}}^{\prime} \right\rbrack}}$ and the J−1 length 2D+1 vectors w(k) are given by ${\underset{\_}{w}(k)} = {\frac{1}{2}{E\left\lbrack {{u^{*}(k)}\underset{\_}{r}} \right\rbrack}}$

The channel under consideration is Rician as described in equation (3), and hence {tilde over (R)} and w(k) are given by $R_{ij} = \begin{matrix} {{\frac{\gamma}{K + 1}{\frac{\left( {J - 1} \right)}{J}\left\lbrack {K + {J_{o}\left( {\pi\frac{\left( {i - j} \right)J}{J_{\max}}} \right)}} \right\rbrack}} +} \\ {\left\lbrack {{\gamma\frac{\left( {J - 1} \right)}{J}\frac{\left. {2\left( {{K_{u}L} - 1} \right)} \right)}{3N}} + 1} \right\rbrack\delta_{i,j}} \end{matrix}$ ${w_{i}(k)} = {\frac{\gamma}{K + 1}{\frac{\left( {J - 1} \right)}{J}\left\lbrack {K + {J_{o}\left( {\pi\frac{\left( {{iJ} - k} \right)}{J_{\max}}} \right)}} \right\rbrack}}$ where i, j=−D, . . . , −1,0,1, . . . ,D and δ_(i,j) is the Kronecker delta.

A novel method and system to improve the performance of MOK signals in fading channels has been described. The two methods presented improve greatly on the performance of simple non-coherent detectors of MOK, with minimal added complexity. From the numerical results it was clear that these methods approach the performance of coherent detectors within 0.2 dB in Rician fading. For fast Rayleigh fading, the error floor present using the non-coherent detector was removed using the iterative algorithm presented.

For CCK, the new method presented enhances greatly the performance and potential of using CCK for fast fading terrestrial mobile communications. The non-coherent system proposed in the prior art to be used for very high rate WLAN could not be used for fast fading channels as its performance degrades greatly. The scheme presented here adds minimal complexity and has performance close to the coherent detection case.

The method and apparatus described herein may be extended to signals received and detected over multipath channels. That is, the method and apparatus will work on multipath channels and are not limited to single mode channels with flat fading. This could be implemented in several ways and is fairly complex implementationally. Most, if not all, components in the receiver situated before the decoder will increase with the number of paths.

It should be clear from the foregoing that the objectives of the invention have been met. Although particular embodiments of the present invention have been described and illustrated, it should be noted that the invention is not limited thereto since modifications may be made by persons skilled in the art. The present application contemplates any and all modifications that fall within the spirit and scope of the underlying invention disclosed and claimed herein. 

1. Apparatus responsive to an applied signal representative of a received multi-chip symbol comprising: a non-coherent detector responsive to the applied signal, for developing a plurality of signals that are each related to a different possible symbol that the applied signal might contain; a coherent detector responsive to the applied signal and to a channel estimate, for developing a plurality of signals that are each related to a different possible symbol that the applied signal might contain; and a symbol selection module responsive to signals developed by the non-coherent detector and the coherent detector for developing a tentative decision regarding said received symbol, and a channel estimate that is coupled to the coherent detector; and a control module that is adapted to create in said apparatus iterative operations, where in a first iteration said symbol selection module operates on the signals developed by the non-coherent detector and in subsequent iterations develops an assessment of the tentative decision of the symbol selection module and, (a) when the assessment determines that another iteration ought to be undertaken, causes the symbol selection module to operate on the signals developed by the coherent detector, (b) when the assessment determines that another iteration ought not to be undertaken, outputs the most recently developed tentative decision as a final decision regarding the symbol contained in said applied signal.
 2. The apparatus of claim 1 where the symbol selection module computes an approximate log likelihood ratio.
 3. The apparatus of claim 1 where the first chip of the multi-chip symbol is know a priori and during the first iteration the symbol selection module makes an initial channel estimate based on said first chip.
 4. The apparatus of claim 1 where the symbol selection module comprises a maximum posteriori probability (MAP) decoder.
 5. The apparatus of claim 4 further comprising a deinterleaver preceding said MAP decoder.
 6. The apparatus of claim 1 where the channel estimate is computed from calculated probabilities of the chips of the most recent tentative decision of the symbols selection module. 